.Dd 2002-10-04
.Dt LEMON 1
.Os "Debian GNU/Linux"
.\" Manual page created by Guus Sliepen <guus@debian.org>
.Sh NAME
.Nm lemon
.Nd The Lemon Parser Generator
.Sh SYNOPSIS
.Nm
.Op Fl bcgmqsx
.Ar input
.Sh DESCRIPTION
.Nm
is an LALR(1) parser generator for C or C++.
It does the same job as bison and yacc.
But 
.Nm
is not another bison or yacc clone.
It uses a different grammar syntax which is designed to reduce the number of coding errors.
.Nm
also uses a more sophisticated parsing engine that is faster than yacc and bison
and which is both reentrant and thread-safe.
Furthermore, 
.Nm
implements features that can be used to eliminate resource leaks,
making is suitable for use in long-running programs such as graphical user interfaces or embedded controllers.
.Pp
.Nm
will read the grammer from
.Ar input
and write out a parser for that grammar in the C language.
.Sh OPTIONS
.Bl -tag -width indent
.It Fl b
Print only the basis in report.
.It Fl c
Don't compress the action table.
.It Fl g
Print grammar without actions.
.It Fl m
Output a makeheaders compatible file.
.It Fl q
(Quiet) Don't print the report file.
.It Fl s
Print parser stats to standard output.
.It Fl x
Print the version number.
.El
.Sh FILES
.Bl -tag -width indent
.It Pa /usr/share/lemon/lempar.c
Driver template for the
.Nm
parser generator.
.El
.Sh AUTHOR
.Nm
has been written by
.An D. Richard Hipp Aq drh@hwaci.com .
.Pp
This manual page was written by
.An Guus Sliepen Aq guus@debian.org
for the Debian GNU/Linux system.
